POPSuL: It Works — php extension https://popsul.ru:443 Личный блог POPSuL про программирование, линукс и прочую ересь Сб, 27 Апр 2024 06:43:59 GMT Сб, 27 Апр 2024 06:43:59 GMT Simple CMS 2 <![CDATA[Разработка расширений php: Классы, интерфейсы, методы — Часть 2]]> https://popsul.ru:443/blog/2012/12/php-2-38.html https://popsul.ru:443/blog/2012/12/php-2-38.html POPSuL Вс, 23 Дек 2012 13:39:00 GMT И снова я тут…

Продолжаем разбираться с интерфейсами и методами, и сегодня мы поговорим о реализации интерфейсных методов в классах. Сегодня мы познакомимся с тем, как реализовать на уровне PHP‐расширения код аналогичный этому:

interface IWorld {
    public function say();
}
class Hello implements IWorld {
    public function say() {
        printf("Hello world");
    }
}

Чтож, приступим…

]]>
<![CDATA[Разработка расширений php: Классы, интерфейсы, методы]]> https://popsul.ru:443/blog/2012/12/php-37.html https://popsul.ru:443/blog/2012/12/php-37.html POPSuL Вс, 16 Дек 2012 14:54:00 GMT Наступили выходные, прошел IT.conf_2012

И снова я тут, и снова мы будем изучать недры PHP, и сегодня мы поговорим о классах, интерфейсах, методах классов, финализированных классах и прочих няшках.

]]>
<![CDATA[Разработка расширений php: возвращаемые значения]]> https://popsul.ru:443/blog/2012/12/php-31.html https://popsul.ru:443/blog/2012/12/php-31.html POPSuL Вт, 04 Дек 2012 22:10:00 GMT Продолжаем разбирать расширения PHP на составляющие…

Сегодня мы поговорим о том, как возвращать некие значения из функций. В предыдущих статьях мы уже встречались с макросом RETURN_STRING (), сегодня мы узнаем о других макросах для возвращения результатов с типом, отличном от строки. А в частности, мы разберемся как вернуть из функции string, boolean, long, double, array.

]]>
<![CDATA[Разработка расширений php: аргументы функций]]> https://popsul.ru:443/blog/2012/12/php-30.html https://popsul.ru:443/blog/2012/12/php-30.html POPSuL Пн, 03 Дек 2012 20:59:00 GMT Продолжаем знакомиться с тем, как же все таки писать свои расширения PHP…

Сегодня мы узнаем как сделать функцию которая принимает аргументы, и работает с ними. За основу возьмем тот же код который был в прошлой статье, и немного доработаем его.

]]>
<![CDATA[Разработка расширений php: hello world]]> https://popsul.ru:443/blog/2012/12/php-hello-world-29.html https://popsul.ru:443/blog/2012/12/php-hello-world-29.html POPSuL Вс, 02 Дек 2012 16:26:00 GMT Вступление

По работе мне приходится перерабатывать и улучшать производительность нашего студийного продукта Simple CMS — CMF ориентированная на быструю разработку модулей, админской части этих модулей, а так же быстрого создания конечных продуктов — сайтов. В данном продукте, собственно, как и в любом другом, есть критические места которые работают не так быстро как хотелось бы, и очень хочется их ускорить. Но как ускорять то, что уже просто невозможно ускорить на уровне PHP? Правильно — сделать аналогичные функции и методы в php расширении, а написанный код который работает не так быстро как хотелось бы — оставить для совместимости с теми интерпретаторами, где не будет данного модуля.

Хочу заметить, на данный момент расширение не написано даже на 1%, но я надеюсь что я дойду до того этапа, когда оно будет работать хотя бы с багами.

Далее будет описано как создать hello world за пять минут.

]]>